I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe
Find out how to resolve a missing javax.servlet dependency when using the Apache Sling API.
/posts/2013/02/sling-sort-requires-javax-servlet.htmlIn order to create a sling servlet you must set a name for it - learn why
/posts/2012/12/gotcha-sling-servlet-requires-name.htmlWhat are OSGi HTTP Whiteboard Servlets and could they be useful for your project? Find the answers here!
/posts/2023/01/osgi-http-whiteboard-servers.htmlAre you still writing Servlets to render JSON in AEM? Use the Sling Models Exporter instead!
/posts/2018/07/no-servlets-required-exporting-data-sling-models.htmlDiscusses the process for creating a custom Apache Felix Web Console Plugin
/posts/2013/09/service-boss-level-part-2-custom-web-console-plugins.htmlHow can you find the source or JavaDocs for an Apache Sling dependency of AEM? The answer is trickier than you'd think, but I've got a new tool to make it easier!
/posts/2018/07/misconceptions-missing-modules-apache-sling.htmlConcurrency issues are challenging to identify, but knowing these 2 common AEM concurrency issues gives you a starting place to look to make sure your code is not affected by concurrency bugs.
/posts/2017/12/avoiding-concurrency-pitfalls-aem.htmlLearn how a better way of generating HTML than generating HTML in Java classes.
/posts/2014/02/how-not-to-generate-html.htmlLearn how to handle file uploads in Adobe CQ
/posts/2013/01/handling-file-upload-adobe-cq.htmlTips on using Java's Lambda Expressions, Streams and Optionals with Apache Sling
/posts/2021/05/slinging-optionally.html